package com.uidt.project.ptsj.service.impl;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import com.alibaba.fastjson2.JSON;
import com.uidt.common.utils.StringUtils;
import com.uidt.common.utils.uuid.UUID;
import com.uidt.project.ptsj.obj.DzzdForPage;
import com.uidt.project.ptsj.obj.GroupInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.uidt.project.ptsj.mapper.PtsjScreenDzzdMapper;
import com.uidt.project.ptsj.domain.PtsjScreenDzzd;
import com.uidt.project.ptsj.service.IPtsjScreenDzzdService;

/**
 * 党政主导
Service业务层处理
 * 
 * @author uidt
 * @date 2024-09-23
 */
@Service
public class PtsjScreenDzzdServiceImpl implements IPtsjScreenDzzdService 
{
    @Autowired
    private PtsjScreenDzzdMapper ptsjScreenDzzdMapper;

    /**
     * 查询党政主导

     * 
     * @param id 党政主导主键
     * @return 党政主导

     */
    @Override
    public DzzdForPage selectPtsjScreenDzzdById(String id)
    {
        DzzdForPage dzzdForPage = new DzzdForPage();
        PtsjScreenDzzd dzzd = ptsjScreenDzzdMapper.selectPtsjScreenDzzdById(id);
        dzzdForPage.setDzzd(dzzd);
        if(dzzd!=null && StringUtils.isNotEmpty(dzzd.getWorkGroup())){
            List<GroupInfo> groupInfoList = JSON.parseArray(dzzd.getWorkGroup(),GroupInfo.class);
            dzzdForPage.setGroupInfoList(groupInfoList);

        }
        return dzzdForPage;
    }

    /**
     * 查询党政主导
列表
     * 
     * @param ptsjScreenDzzd 党政主导

     * @return 党政主导

     */
    @Override
    public List<PtsjScreenDzzd> selectPtsjScreenDzzdList(PtsjScreenDzzd ptsjScreenDzzd)
    {
        List<PtsjScreenDzzd> list = ptsjScreenDzzdMapper.selectPtsjScreenDzzdList(ptsjScreenDzzd);
        for(PtsjScreenDzzd dzzd:list){
            String groupInfo = dzzd.getWorkGroup();
            if(StringUtils.isNotEmpty(groupInfo)){
                List<GroupInfo> groupInfoList = JSON.parseArray(groupInfo,GroupInfo.class);
                Collections.sort(groupInfoList);
                dzzd.setGroupInfoList(groupInfoList);
            }
        }
        return list;
    }

    /**
     * 新增党政主导

     * 
     * @param ptsjScreenDzzd 党政主导

     * @return 结果
     */
    @Override
    public int insertPtsjScreenDzzd(PtsjScreenDzzd ptsjScreenDzzd)
    {
        String id = UUID.randomUUID().toString();
        ptsjScreenDzzd.setId(id);
        // 新增默认是不删除的
        ptsjScreenDzzd.setDel("0");
        int count = ptsjScreenDzzdMapper.insertPtsjScreenDzzd(ptsjScreenDzzd);
        if(count!=0){
            //新增成功后，把其他数据修改成删除状态
            ptsjScreenDzzdMapper.updateOthersToDel(id);
        }
        return count;
    }

    /**
     * 修改党政主导

     * 
     * @param ptsjScreenDzzd 党政主导

     * @return 结果
     */
    @Override
    public int updatePtsjScreenDzzd(PtsjScreenDzzd ptsjScreenDzzd)
    {
        return ptsjScreenDzzdMapper.updatePtsjScreenDzzd(ptsjScreenDzzd);
    }

    /**
     * 批量删除党政主导

     * 
     * @param ids 需要删除的党政主导主键
     * @return 结果
     */
    @Override
    public int deletePtsjScreenDzzdByIds(String[] ids)
    {
        return ptsjScreenDzzdMapper.deletePtsjScreenDzzdByIds(ids);
    }

    /**
     * 删除党政主导信息
     * 
     * @param id 党政主导主键
     * @return 结果
     */
    @Override
    public int deletePtsjScreenDzzdById(String id)
    {
        return ptsjScreenDzzdMapper.deletePtsjScreenDzzdById(id);
    }
}
